草庐IT

Java ASN.1 编译器

全部标签

c++ - VirtualBox Guest Additions 编译和 iso 打包

我正在根据官方documentation编译VirtualBoxGuestAdditions|.分别构建64位和32位附加内容并尝试将其打包到iso镜像中。目标系统是Windows7x64。根据文档的所有软件要求,包括确切的版本。只应构建附加项(VBOX_ONLY_ADDITIONS:=1在LocalConfig.kmk中)32位编译不设置目标是正常的call"C:\ProgramFiles\MicrosoftSDKs\Windows\v7.1\Bin\SetEnv.Cmd"/Release/x86/win7setBUILD_TARGET_ARCH=x86setPATH=%PATH%;

c++ - 编译错误 : `‘error_category’ does not name a type` with g++ 6. 3.0

我尝试编译这个C++/Python库https://bitbucket.org/fluiddyn/fluidfft如果安装了mpi4py,它运行良好。如果没有安装mpi4py,不使用MPI的代码无法编译。编译Cython文件时出现错误。错误很长,开始于:Infileincludedfrom/usr/include/c++/6/bits/ios_base.h:46:0,from/usr/include/c++/6/ios:42,from/usr/include/c++/6/ostream:38,from/usr/include/c++/6/iostream:39,fromsrc_cpp/

使用命名空间时,C++ 模板函数无法使用 g++ 进行编译

下面的代码编译得很好:(没有命名空间)#includetemplatevoidfoo(constint&from,std::vector&to){for(inti=0;ibars;};voidfoo(constint&from,Bar&to){to.a=from;to.b=from-1;}voidfoo(constint&from,Baz&to){foo(from,to.bars);}voidfooTest(){intnum=10;Bazbaz;foo(num,baz);}intmain(){fooTest();}但是当我为Bar和Baz引入命名空间时,它无法编译。(带命名空间)#in

玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 编译构建及此过程中的踩坑填坑(5)

接前一篇文章:玩转贝启科技BQ3588C开源鸿蒙系统开发板——编译构建及此过程中的踩坑填坑(4)上一回重走OpenHarmony的编译构建流程,完成了第2步——获取标准系统源码。本回继续往下进行。这一步和之前并无不同,参考:玩转贝启科技BQ3588C开源鸿蒙系统开发板——编译构建及此过程中的踩坑填坑(1)3.编译构建(1)执行prebuilts在源码根目录下执行脚本,安装编译器及二进制工具。bashbuild/prebuilts_download.sh注意:此步骤需要使用sudo权限。实际命令及结果如下:$sudobashbuild/prebuilts_download.sh[sudo]pas

c++ - 我已经编写了 C++ 代码来将 boost::optional 视为一个范围,但它无法编译

我希望将boost::optional视为一个容器,其中可以包含零个或一个元素。从逻辑上讲,我应该能够为容器创建一个迭代器并在其上使用boost::for_each。我的尝试如下,但无法编译。我已经在GodBolt上试过了。https://godbolt.org/g/z5MFfe下面的代码供引用。#include#include#include#includenamespaceboost{templateclassoptional_iterator:publicboost::iterator_facade,typenameOT::value_type,boost::forward_tr

C++ 编译大型结构时内存使用过多

昨天我在编码时发现了一些奇怪的C++编译器行为。此代码使用g++7.2.0在我的计算机上毫不费力地编译:#includeconstintSIZE=1e6;structArrayOfInts{inta[SIZE];}array_of_ints;intmain(){std::cout但是这段代码是不同的:#include#includeconstintSIZE=1e6;structArrayOfPairs{std::paira[SIZE];}array_of_pairs;intmain(){std::cout编译时间明显更长。在查看任务管理器时,我注意到在编译这段代码时,“cc1plus.

c++ - 如何使用 CMAKE 为交叉编译配置设置特定的 CMAKE_C_OUTPUT_EXTENSION?

我正在尝试设置一个工具链文件,以便与CMake3.12.0版本进行交叉编译。我的对象文件的扩展名与Windows上的.obj和UNIX上的.o不同。因此,我将我的CMAKE_LANG_OUTPUT_EXTENSION设置为.src。不幸的是,此变量被CMakeCInformation.cmake文件中的这些行覆盖:#somecompilersusedifferentextensions(e.g.sdccuses.rel)#sosettheextensionherefirstsoitcanbeoverriddenbythecompilerspecificfileif(UNIX)set(C

c++ - 如何强制 MSVC 编译器省略大型临时对象的堆栈分配?

这个问题不是thisone的重复问题或其他类似问题。这个问题是关于在初始化和使用后清除一个结构。更新在阅读了您的前几条评论后,我想澄清一下我的问题:如何强制MSVC编译器省略大堆栈分配?我更新了标题、文本和下面的代码以阐明这一点。我最近开始使用/GS、/sdl和/analyze编译器选项编译我的项目。(MicrosoftVisualC++2015)使用这些选项,编译器可以正确警告有问题的代码结构。但是,我遇到了一些我一直认为是好的C++风格的警告。请看下面的示例代码:structmy_struct{charlarge_member[64000];};voiddo_something_e

c++ - 在 Windows 10 上使用 C++ 线程的问题(使用 g++ 作为编译器)

我正在尝试创建一个线程并让它向终端打印一些内容。我遇到了一些问题,所以我决定采用别人制作的这段非常简单的代码,当我编译它时,我得到了下面列出的错误,但网上的其他人似乎没有问题运行它。#include#includeusingnamespacestd;voidhello_world(){cout编译器(mingw32-gcc-g++-bin8.2.0.3onwindows10)给出以下错误:.\multiT.cpp:Infunction'intmain()':.\multiT.cpp:13:5:error:'thread'wasnotdeclaredinthisscopethreadth

c++ - 在 C++ 程序中使用 libcurl 会导致 Visual C++ 编译器发出错误

我已经使用VisualC++编译器将Windows上的libcurl编译成一个dll。除了已编译的libcurl源代码之外,该dll还包含一个简单的测试程序,如下所示:header(HttpClient.h):#pragmaonce#include#include"curl/curl.h"namespaceMy::Project{classHttpClient{public:HttpClient();~HttpClient();std::stringGet(std::stringaddress);private:CURL*easy_handle;};}实现(HttpClient.cpp